Correctness proofs for two protocols

نویسنده

  • Uri Abraham
چکیده

A methodology for proving the correctness of protocols is presented through two examples. (1) The Bloom two-writer register. (2) The Consumer/Producer buuer implementation. Each proof is divided into two levels: The programs are mentioned only at the lower level, and the speciications obtained at that level are abstractly used in the higher-level stage. In fact, improved versions of the two protocols are given. (1) The protocol of Bloom is improved by not requiring the writers of the implemented register to read data of one another (they only read coordinating values). (2) The buuer implementation given here is more eecient than the traditional one. The aim of this paper is to describe an approach for specifying and proving the correctness of distributed protocols. Our approach is characterized by a clear division of the correctness proofs into two or more layers: The lower layer involves the program, but the higher levels only mention abstract higher-level properties of system executions. We expose this approach via two examples that are variants of simple and well known protocols. The rst is an implementation of a two-writer multireader atomic register which uses only single writer registers (Bloom 1987]). The second is the classical implementation of a circular queue for the producer/consumer problem. The method of proof presented here has enabled us to improve both protocols. This is a natural consequence of an approach that looks at the protocols from a higher-level view and allows for more abstract reasoning. Both protocols are improved by disassociating the control values from the 1 data values. A data value is the useful information carried by the register or the queue, while control values are used by the processes to coordinate their activities. For example, time-stamps are coordinating control values, while a le of data put into the buuer by the writer is a data value. (We are not giving here a formal deenition of this distinction which is quite intuitive.) Most often, the data and control information are mixed into a single record with two elds; the control value is seen then as a `tag' that helps in processing the data. However, a disadvantage of such an association is that for very long data values (which may extend over huge les) a considerable slowing down of the processes may result. For example, in Bloom protocol, the writer processes must also read each other's data values which they never use (and …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Sliding-Window Protocol in CSP

A formal specification and proof of correctness is given of the sliding­ window protocol using the notation of Communicating Sequential Pro­ cesses. First the stop-and-wait protocol is defined; its correetne8S, that it forms a I-place buffer, is almost evident. Next the alternating-bit protocol is defined and described in terms of the stop-and-wait proto­ col, and its correctness deduced. Final...

متن کامل

From Qualitative to Quantitative Proofs of Security Properties Using First-Order Conditional Logic: Abstract∗

Security protocols, such as key-exchange and keymanagement protocols, are short, but notoriously difficult to prove correct. Flaws have been found in numerous protocols, ranging from the the 802.11 Wired Equivalent Privacy (WEP) protocol used to protect link-layer communications from eavesdropping and other attacks [1] to standards and proposed standards for Secure Socket Layer [2], [3] to Kerb...

متن کامل

Anonymous Coexistence Proofs for RFID Tags

In a world with RFID carriers everywhere, the coexistence proof of multiple RFID-tagged objects shown at the same time and the same place can become a very useful mechanism and be adopted in many application areas such as computer forensics, evi-dences in law, valuables security, and warning or notification systems, etc. In order to support the correctness of derived proofs, it is necessary to ...

متن کامل

Instances of Schneider's generalized protocol of clock synchronization

Schneider [7] generalizes a number of protocols for Byzantine faulttolerant clock synchronization and presents a uniform proof for their correctness. In Schneider’s schema, each processor maintains a local clock by periodically adjusting each value to one computed by a convergence function applied to the readings of all the clocks. Then, correctness of an algorithm, i.e. that the readings of tw...

متن کامل

Bakery Algorithms

An approach to proving higher level properties of distributed protocols is suggested here in which a proof consists of two stages: In the higher-level stage, abstract properties of system executions are assumed and their desired consequences are proved. At the lower-level stage these abstract properties are shown to hold in every execution of the protocol. The paper studies the Bakery Algorithm...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996